package in.rob.client.dialog; import android.os.Bundle; import android.view.View; import android.view.WindowManager.LayoutParams; import android.widget.TextView; import in.controller.handler.PostDialogResponseHandler; import in.lib.Constants; import in.lib.manager.APIManager; import in.lib.utils.Views; import in.lib.utils.Views.InjectView; import in.lib.utils.Views.Injectable; import in.lib.view.AvatarImageView; import in.lib.view.LinkedTextView; import in.lib.view.TextChronometer; import in.model.Post; import in.rob.client.R; import in.rob.client.dialog.base.InputPostDialog; import lombok.Getter; @Injectable public class DeletePostDialog extends InputPostDialog { @InjectView private AvatarImageView avatar; @InjectView private TextChronometer date; @InjectView private TextView usernameTitle; @InjectView private TextView usernameSubtitle; @Getter private Post post; @Override public void initialiseDraft(){} @Override public int getContentView() { return R.layout.post_delete_dialog; } @Override public TextView getPostInput() { return (TextView)findViewById(R.id.post_text); } @Override protected void setWindowMode() { getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); } @Override public void initialiseDialog() { super.initialiseDialog(); setTitle(R.string.confirm); Views.inject(this); } @Override public void retrieveArguments(Bundle args) { super.retrieveArguments(args); if (args != null) { post = (Post)args.getParcelable(Constants.EXTRA_POST); avatar.setUser(post.getPoster()); usernameTitle.setText(post.getPoster().getFormattedMentionNameTitle()); usernameSubtitle.setText(post.getPoster().getFormattedMentionNameSubTitle()); date.setTime(post.getDate()); ((LinkedTextView)getPostInput()).setText(post.getPostText()); } } @Override public void onPositiveButtonClick(View view) { finish(); APIManager.getInstance().deletePost(getPost(), new PostDialogResponseHandler(getContext(), getPost().hashCode()) { @Override public String getNotificationTitle() { return getContext().getString(R.string.deleting_post_title); } @Override public String getNotificationText() { return getContext().getString(R.string.deleting_post); } @Override public String getNotificationFinishText() { return getContext().getString(R.string.post_delete_success); } }); } @Override public void onNegativeButtonClick(View view) { finish(); } }